/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ordenacao;

/**
 *
 * @author Jorge
 */
public class QuickSort {

    public static void quickSort(Object[] v, int inicio, int fim) {
        if (inicio < fim) {
            int pivo = inicio, i = fim;
            Object vPivo = v[pivo];

            while (pivo < i) {

                if (vPivo.toString().charAt(i) > v.toString().charAt(i)) {
                    v[pivo] = v[i];
                    pivo = i;
                    i = inicio + 1;

                    while (pivo > i) {
                        if (vPivo.toString().charAt(i) < v.toString().charAt(i)) {
                            v[pivo] = v[i];
                            pivo = i;
                            i = fim;
                            break;
                        } else {
                            i++;
                        }
                    }
                } else {
                    i--;
                }
            }
            /*-----*/
            v[pivo] = vPivo;
            quickSort(v, inicio, pivo - 1);
            quickSort(v, pivo + 1, fim);
        }
    }
}
